/**
 * @file kugou.h
 * @brief 酷狗歌词获取模块定义
 * @details 提供从酷狗音乐API获取歌词的功能
 */
#pragma once

#include "utils.h"
#include <gtk/gtk.h>

#ifdef __cplusplus
#include <glib.h>

/**
 * @brief 同步歌词标志
 * @details 指示是否获取同步歌词
 */
extern gboolean syncedlyrics;

/**
 * @brief 下载酷狗歌词
 * @param artist 歌手名
 * @param song 歌曲名
 * @return 歌词内容（需要调用者释放内存）
 */
gchar* kugou_down_lyrics(const gchar* artist, const gchar* song);

/**
 * @brief 搜索酷狗歌曲
 * @param song 歌曲名
 * @param artist 歌手名
 * @return 歌曲列表（需要调用者释放内存）
 */
GList* kugou_get_songs(const gchar* song, const gchar* artist);

/**
 * @brief 获取酷狗歌词的主要接口
 * @param artist 歌手名
 * @param song 歌曲名
 * @return 解析后的歌词结构体，包含歌词内容和同步状态
 */
struct parsed_lyrics kugou(const gchar* artist, const gchar* song);

/**
 * @brief 通过文件哈希值下载酷狗歌词
 * @param fileHash 文件哈希值
 * @return 解析后的歌词结构体，包含歌词内容和同步状态
 */
struct parsed_lyrics kugou_lyrics_downloader(const gchar* fileHash);

#endif
